# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Borderlands The Pre-Sequel Template

game: Borderlands The Pre-Sequel
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Borderlands The Pre-Sequel:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  goal:
    # The victory condition for your run. Please specify a valid location which can be found in archi_defs or archi_data.
    # You can specify one value or many. If you specify multiple values, you win once you complete all of them.
    ['Enemy: Felicity Rampant']

  delete_starting_gear:
    # Deletes your character's gear on first connection, avoids granting checks immediately for Skyrocket, Gearbox guns, etc.
    # (Please be careful to back up your saves and load the correct character)
    keep: 50
    delete: 0

  gear_licenses:
    # Gear Licenses will be added to the item pool as receivable items. (Ex. Uncommon Pistol)
    # You will need to receive the license before being able to equip that kind of gear + rarity combo.
    # disabled = Exclude from Item Pool, ability to equip things is always unlocked.
    # exclude_glitch = Glitch rarity are excluded
    # all = All licenses are added to the pool
    disabled: 0
    exclude_glitch: 50
    all: 0

  receive_gear:
    # When receiving gear licenses from the item pool, does it spawn for you or do you only get the ability to equip the ones you find.
    # This option does nothing if gear_licenses is disabled
    # equip_only = do not spawn gear when receiving a license
    # receive = spawn gear when receiving a license
    equip_only: 0
    receive: 50

  filler_gear:
    # What kind of filler gear should be added to the item pool? This option is ignored if "gear" does not appear in filler_item_rotation.
    # unique = Unique items (Legendaries, Seraphs, etc. but as filler)
    # rarity_groups = Common, Uncommon, etc. as filler
    # both = Both unique and non-unique gear
    unique: 50
    rarity_groups: 0
    both: 0

  filler_item_rotation:
    # What items should be added to fill out the rest of the filler item pool.
    # Filler items will be added to the item pool in a round-robin fashion, so any item in this list will be added many times.
    # Include more instances of an item type by including it multiple times. Items will be added in the same ratio as they appear in this list.
    # You can find item names in archi_data.py. Examples of items to use: 
    # "3 Skill Points", "$100", "10 Moonstones", "10% Exp", "Filler Gear: Glitch Pistol", "Filler Gear: Smasher", "Trap Spawn: Opha"
    # You can also include "gear" and "sdu"
    # "gear" will cycle through gear based on the choice in filler_gear.
    # "sdu" will cycle through backpack and ammo upgrades up to the vanilla max levels.
    # "3 Skill Points" is handled specially and will stop being added once you can reach 120 skill points.
    # Note: 1 instance of every filler item aside from "Filler Gear" is included regardless of what you put in this list, and "3 Skill Points" is automatically included enough times to reach 27 skill points.
    # Quest rewards are added separately from this rotation list (see quest_reward_items)
    # Trap spawns are added separately from this rotation list (see spawn_traps), but you can add more here if you're crazy.
    ['gear', 'sdu', 'Moxxtails', '3 Skill Points', '$100', '10 Moonstones', '10% Exp']

  vault_symbols:
    # Vault Symbols as location checks
    none: 0
    all: 50

  vending_machines:
    # Vending Machines as location checks
    none: 0
    all: 50

  entrance_locks:
    # Moving to another map area (regular or fast travel) is disabled until the associated item is found
    # Turning this option off has strange implications. You will basically be expected to goal in sphere one, since nothing would be "out of logic" for you.
    # all = You are required to unlock travel items in order to travel to other map areas
    # no_locks = Travel Items are not included in the multiworld.
    no_locks: 0
    all: 50

  progressive_travel_groups:
    # Unlock regions progressively instead of individually. Choose which progressive groups should be included.
    # Other regions will be unlocked individually if they are not removed from generation.
    # full list of options: ["basegame", "basegame_side", "claptrap", "holodome", "shock_drop"]
    []

  jump_checks:
    # How many jump checks should be added to the pool. You will not start with the ability to jump unless you add "Progressive Jump" to your start_inventory_from_pool
    not_disabled: 0
    '1': 0
    '2': 0
    '3': 50
    '4': 0
    '5': 0

  max_jump_height:
    # Each jump check will give you an equivalent fraction of your max jump height.
    # If Jump Checks is set to "not disabled" you will simply jump this high.
    # high = 1.5x
    # extra high = 2x
    regular: 50
    high: 0
    extra_high: 0

  sprint_checks:
    # How many sprint checks should be added to the pool. You will not start with the ability to sprint unless you add "Progressive Sprint" to your start_inventory_from_pool
    not_disabled: 0
    '1': 0
    '2': 0
    '3': 50
    '4': 0
    '5': 0

  max_sprint_speed:
    # Each sprint check will give you an equivalent fraction of your max sprint speed.
    # If Sprint Checks is set to "not disabled" you will simply sprint this fast.
    # fast = 1.5x
    # extra fast = 2x
    regular: 50
    fast: 0
    extra_fast: 0
    supersonic: 0

  spawn_traps:
    # Add Spawn Traps to the item pool. 
    # You can include more instances of them by setting this option to a number, up to 10.
    '0': 0
    '1': 50
    '2': 0
    '3': 0
    '4': 0
    '5': 0
    '6': 0
    '7': 0
    '8': 0
    '9': 0
    '10': 0

  effect_traps:
    # Add Effect Traps to the item pool. 
    # You can include more instances of them by setting this option to a number, up to 10.
    '0': 0
    '1': 50
    '2': 0
    '3': 0
    '4': 0
    '5': 0
    '6': 0
    '7': 0
    '8': 0
    '9': 0
    '10': 0

  quest_completion_checks:
    # Quests completions count as location checks
    # none = turn this option off
    # all = include all quests in valid regions in the location pool
    # story_only = includes quests but keeps story quests only, removing side quests
    # sidequest_only = includes quests but keeps side quests only, removing story quests
    none: 0
    all: 50
    story_only: 0
    sidequest_only: 0

  quest_reward_items:
    # Quest rewards are not given at time of quest completion and are instead added to the item pool
    # none = turn this option off
    # all = include all quest rewards in the item pool
    # only_gear = include quest rewards in the item pool but remove rewards that do not include gear (ex. Best Minion Ever only grants money)
    # only_included_regions = include quest rewards in the item pool but remove quests associated with excluded regions (like DLC that has been turned off; use this if there is DLC you don't own)
    # only_included_regions_gear = combination of only_included_regions and only_gear
    none: 0
    all: 0
    only_gear: 0
    only_included_regions: 0
    only_included_regions_gear: 50

  generic_mob_checks:
    # Adds a few checks into the location pool for farming generic mobs. Select a drop chance (default 5%)
    disabled: 0
    1_percent: 0
    2_percent: 0
    3_percent: 0
    4_percent: 0
    5_percent: 50
    6_percent: 0
    7_percent: 0
    8_percent: 0
    9_percent: 0
    10_percent: 0

  gear_rarity_checks:
    # Adds checks into the location pool for the first time you pick up gear of each type + rarity combination
    # exclude_glitch = Glitch are excluded
    disabled: 0
    exclude_glitch: 50
    all: 0

  challenge_checks:
    # Adds checks into the location pool for completing BAR challenges
    # none = No challenge checks in the location pool
    # all = Completing level 1 of all challenge checks will be included in the location pool
    # region_based_only = Only include the BAR challenges that are for completing region-specific tasks (ex. Cult of the Vault, Collect Echos)
    # general_only = Only include the BAR challenges that are for general tasks (ex. Get Second Winds, Deal Shock Damage)
    none: 0
    all: 50
    region_based_only: 0
    general_only: 0

  chest_type_checks:
    # Adds checks for opening Chests
    # Dahl Chests: The blue wide chests with "Dahl" on their side
    # Red Chests: The red chests with cut corners
    # Moonstone Chests: The chests costing 40 moonstone to open
    ['Dahl Chests', 'Red Chests', 'Moonstone Chests']

  start_with_melee:
    # Start With Melee already unlocked.
    # Prevents early BK.
    # TPS has combat before any checks is available, 
    # in addition to requiring melee to get out of the intro.
    'false': 0
    'true': 50

  remove_coop_checks:
    # Removes checks that are impossible or difficult to do while playing solo
    # keep = don't remove any checks
    # remove_impossible = only remove impossible checks
    # remove_all = remove difficult and impossible checks
    keep: 0
    remove_impossible: 0
    remove_all: 50

  remove_missable_checks:
    # Removes checks that are easy to miss if you don't know they're there, such as timed challenges, hidden non-respawnable enemies, etc.
    # Ex. Challenge EridiumBlight: Save the Turrets, Enemy: The Rat in the Hat
    # keep = don't remove any checks
    # remove = remove missable checks
    keep: 0
    remove: 50

  remove_claptrap_checks:
    # Removes checks and quest rewards associated with Claptastic Voyage DLC
    keep: 50
    remove: 0

  remove_holodome_checks:
    # Removes checks and quest rewards associated with The Holodome DLC
    keep: 0
    remove: 50

  remove_shock_drop_checks:
    # Removes checks associated with Shock Drop Slaughter Pit DLC
    keep: 0
    remove: 50

  remove_base_game_checks:
    # Removes checks associated with regions in the base game
    keep: 50
    remove: 0

  remove_specific_region_checks:
    # Select specific regions to remove from the randomization. Find region names in Regions.py
    # ex. remove_specific_region_checks: ["Stanton's Liver", "Sub-Level 13"]
    []

  remove_locations:
    # Select specific locations to remove from the randomization. Find location names in archi_data.py
    # Differs from exclude_locations in that it actually removes the location, reducing the number of locations for hint cost and not causing issues with accessibility check.
    # ex. remove_locations: ["Enemy: BNK-3R", "Challenge CausticCaverns: Ever Blow Bubbles...?"]
    []

  include_locations:
    # Select specific locations to force them to be included in the generation, even if they are removed by other rules. Find location names in archi_data.py
    # ex. include_locations: ["Symbol WindshearWaste: Claptrap's Closet", "Challenge Loot: Open Pandora's Boxes"]
    []

  remove_raidboss_checks:
    # Removes checks associated with raid bosses
    keep: 50
    remove: 0

  always_on_level:
    # Make enemies always on level, providing a UVHM-like experience.
    # With this option on, generation logic may expect a strange path through the game.
    # disabled = Enemies will be kept at vanilla levels.
    # enabled = All enemies will be set to your level.
    # down_only = Higher level enemies will be lowered to your level.
    # up_only = Lower level enemies will be brought up to your level. (logic unchanged)
    disabled: 50
    enabled: 0
    down_only: 0
    up_only: 0

  max_level_checks:
    # Removes checks associated with higher levels, like enemies and areas beyond your intended end point.
    # Don't select an arbitrary number, options are listed below.
    # none = don't remove any checks based on this rule
    # level_14 = good for ending around bloodshot ramparts
    # level_20 = good for ending around thousand cuts or level 15 dlcs and headhunters
    # level_30 = removes checks beyond warrior
    none: 50
    level_14: 0
    level_20: 0
    level_30: 0

  death_link:
    'false': 50
    'true': 0

  death_link_punishment:
    # If DeathLink is off, this option does nothing.
    # damage = take near-fatal damage when a DeathLink is received.
    # ffyl = instantly enter "fight for your life" mode when a DeathLink is received.
    # death = instantly die when a DeathLink is received.
    damage: 0
    ffyl: 50
    death: 0

  death_link_send_mode:
    # If DeathLink is off, this option does nothing.
    # death = Send a DeathLink when you die
    # ffyl = Send a DeathLink whenever you fall into "fight for your life" mode
    # save_quit = Send a DeathLink whenever you save quit
    # save_quit_and_death = Send a DeathLink on save quit and on death
    # save_quit_and_ffyl = Send a DeathLink on save quit and when falling into ffyl
    death: 50
    ffyl: 0
    save_quit: 0
    save_quit_and_death: 0
    save_quit_and_ffyl: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
